Untangling Source Code Changes Using Program Slicing

نویسندگان

  • Ward Muylaert
  • Coen De Roover
چکیده

Version control systems (VCS) are widely used to manage the history of code bases. These histories in turn provide opportunities for research. Researchers expect the commits in these version control systems to be atomic. That is, each commit performs one task. This is however not always the case. To remedy this, we propose a commit untangling technique using program slicing. In particular, we posit that all related changes are part of the same program slice. To do so, we perform program slicing on changes. Preliminary results using intra-procedural slicing have proven to be encouraging. We are currently working on expanding our work to be inter-procedural.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

And Now For Something Completely Different

A pilot experiment was conducted at Dagstuhl using the ’Beyond program slicing’ seminar attendees. Attendees were split into three groups: all were given the same program to understand and a list of program comprehension related questions to answer. Group one had only the source code, group two had the source code and the dynamic trace of the program, group three had the source and a control-fl...

متن کامل

Slicing Software for Model Construction

Applying nite state veri cation techniques e g model check ing to software requires that program source code be trans lated to a nite state transition system that safely models program behavior Automatically checking such a transition system for a correctness property is typically very costly thus it is necessary to reduce the size of the transition sys tem as much as possible In fact it is oft...

متن کامل

Slicing Software Architectures

This paper introduces a new form of slicing, named architectural slicing, to aid architectural understanding and reuse. In contrast to traditional slicing, architectural slicing is designed to operate on the architectural description of a software system, rather than the source code of a program. Architectural slicing provides knowledge about the high-level architecture of a software system, ra...

متن کامل

Variable Data-Flow Graph for Lightweight Program Slicing and Visualization

To understand the behavior of a program, developers often need to read source code fragments in various modules. Systemdependence-graph-based (SDG) program slicing is a good candidate for supporting the investigation of data-flow paths among modules, as SDG is capable of showing the data-dependence of focused program elements. However, this technique has two problems. First, constructing SDG re...

متن کامل

Using Program Slicing to Drive Pre-Execution on Simultaneous Multithreading Processors

Pre-execution uses helper threads running in spare hardware contexts to trigger cache misses in front of the main thread, hence hiding their latency. At the heart of pre-execution is the code that runs in the pre-execution threads themselves. The most common approach is for preexecution threads to run a subset of the instructions executed by the original program, called backward slices [18], wh...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2017